package OperationBancaire;

import _Banque.OperationBancaire;
import _Banque.interfaces.IBanque;
import _Tests.Tests;

//
//IUT de Nice / Departement informatique / Module APO-C++
//Annee 2008_2009 - Package _Banque
//
//Classe OperationBancaire - Tests unitaires des constructeurs
//									 (Cas nominaux)
//
//Auteur : A. Thuaire
//
public class T_OperationBancaire_N1 implements IBanque {

	public static void main(String[] args) throws Throwable
	{
		Tests.Begin("_Banque.OperationBancaire", "1.0.0");
		
			Tests.Design("Controle de la construction", 3);
		
				Tests.Case("Controle de la construction de l'element neutre");
				{
					OperationBancaire neutre = new OperationBancaire();

					Tests.Unit("---", neutre.toString());
				}

				Tests.Case("Controle du constructeur normal");
				{
					OperationBancaire op1 = new OperationBancaire(VERSEMENT, "Cheque 8002179", 2500);
					OperationBancaire op2 = new OperationBancaire(RETRAIT,	"Guichet 6549", 250.75f); 
					OperationBancaire op3 = new OperationBancaire(REMUNERATION, "2009/03", 50.25f); 	  
			  
					String intitule_1 = "Cheque 8002179";
					String intitule_2 = "Guichet 6549";
					String intitule_3 = "2009/03";
					
					String attendu_1 = (1000000L + 1) + " - VERSEMENT - "    + intitule_1 + " : " + 2500.;
					String attendu_2 = (1000000L + 2) + " - RETRAIT - "      + intitule_2 + " : " +  250.75f;
					String attendu_3 = (1000000L + 3) + " - REMUNERATION - " + intitule_3 + " : " +   50.25f;

					Tests.Unit(attendu_1, op1.toString());
					Tests.Unit(attendu_2, op2.toString());
					Tests.Unit(attendu_3, op3.toString());
				}
				
		Tests.End();
	}
}
